In order to support the execution of different types of programs, computing system firmware commonly provides various types of boot and runtime services. For example, a service might be provided through which firmware programs, operating systems, and application programs can store and retrieve variables. Such variables can include both volatile firmware variables that do not persist following restarts and non-volatile (“NV”) firmware variables stored in NV random access memory (“NVRAM”) or another type of NV storage device that are persisted between reboots of a computing system.
Firmware variables such as those described above are commonly stored in secure memory in order to maintain their security. Similarly, firmware services for getting and setting firmware variables commonly execute from secure memory. Due to the overhead associated with secure storage and retrieval, operations for reading and writing firmware variables to and from secure memory can consume a relatively large number of processor cycles, which can negatively impact the performance of a computing system.
It is with respect to these and other considerations that the disclosure made herein is presented.